package com.example.pm.ending.server.mapper;

import com.example.pm.ending.server.pojo.entity.HouseBuild;
import com.example.pm.ending.server.pojo.vo.HouseBuildListVO;
import com.example.pm.ending.server.pojo.vo.HouseBuildStandardVO;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @author 闫鑫飞
 */
@Repository
public interface HouseBuildMapper {
    /**
     * 添加新区(栋)
     * @param houseBuild 新区(栋)参数
     */
    void insert(HouseBuild houseBuild);

    /**
     * 批量添加区(栋)
     * @param list 新区(栋)们
     */
    void insertBatch(List<HouseBuild>list);

    /**
     * 通过id删除区(栋)
     * @param id 区(栋)的id
     */
    void deleteById(Long id);

    /**
     * 批量添加区(栋)
     * @param id 区(栋)的id们
     */
    void deleteBatch(List<Long>id);

    /**
     * 动态修改区(栋)信息
     * @param HouseBuild 修改后的区(栋)信息
     */
    void update(HouseBuild HouseBuild);

    /**
     * 查询区(栋)总数
     */
    Long count();

    /**
     * 根据房间号和栋与关联id查询数量
     * @param name 区(栋)名
     * @return 查到的数量
     */
    Integer countByName(String name);

    /**
     * 区(栋)列表
     * @return List<HouseBuildListVO>
     */
    List<HouseBuildListVO> list();

    /**
     * 根据根据房间号和栋与关联id查找区(栋)信息
     * @param name name 区(栋)名
     * @return HouseBuildStandardVO
     */
    HouseBuildStandardVO getHouseBuildByName(String name);

    /**
     * 根据id查找区(栋)信息
     * @param id 区(栋)id
     * @return HouseBuildStandardVO
     */
    HouseBuildStandardVO getHouseBuildById(Long id);


}
